package com.ruoyi.system.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * App 热更新版本记录对象 app_hot_update
 * 
 * @author codernight
 * @date 2025-05-15
 */
public class AppHotUpdate extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 平台：android 或 ios */
    @Excel(name = "平台：android 或 ios")
    private String platform;

    /** 原生App版本号，如1.0.0 */
    @Excel(name = "原生App版本号，如1.0.0")
    private String appVersion;

    /** 热更新版本号，如 1.0.1 */
    @Excel(name = "热更新版本号，如 1.0.1")
    private String hotUpdateVersion;

    /** 更新包下载地址 */
    @Excel(name = "更新包下载地址")
    private String packageUrl;

    /** 是否强制更新：0否 1是 */
    @Excel(name = "是否强制更新：0否 1是")
    private Integer isForce;

    /** 更新类型：hot（热更新）/ full（整包） */
    @Excel(name = "更新类型：hot", readConverterExp = "热=更新")
    private String updateType;

    /** 更新说明 */
    @Excel(name = "更新说明")
    private String description;

    /** 状态：1启用 0禁用 */
    @Excel(name = "状态：1启用 0禁用")
    private Integer status;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setPlatform(String platform) 
    {
        this.platform = platform;
    }

    public String getPlatform() 
    {
        return platform;
    }

    public void setAppVersion(String appVersion) 
    {
        this.appVersion = appVersion;
    }

    public String getAppVersion() 
    {
        return appVersion;
    }

    public void setHotUpdateVersion(String hotUpdateVersion) 
    {
        this.hotUpdateVersion = hotUpdateVersion;
    }

    public String getHotUpdateVersion() 
    {
        return hotUpdateVersion;
    }

    public void setPackageUrl(String packageUrl) 
    {
        this.packageUrl = packageUrl;
    }

    public String getPackageUrl() 
    {
        return packageUrl;
    }

    public void setIsForce(Integer isForce) 
    {
        this.isForce = isForce;
    }

    public Integer getIsForce() 
    {
        return isForce;
    }

    public void setUpdateType(String updateType) 
    {
        this.updateType = updateType;
    }

    public String getUpdateType() 
    {
        return updateType;
    }

    public void setDescription(String description) 
    {
        this.description = description;
    }

    public String getDescription() 
    {
        return description;
    }

    public void setStatus(Integer status) 
    {
        this.status = status;
    }

    public Integer getStatus() 
    {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("platform", getPlatform())
            .append("appVersion", getAppVersion())
            .append("hotUpdateVersion", getHotUpdateVersion())
            .append("packageUrl", getPackageUrl())
            .append("isForce", getIsForce())
            .append("updateType", getUpdateType())
            .append("description", getDescription())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("status", getStatus())
            .toString();
    }
}
